#ifndef SINGLEPOINTCROSSOVER_H_
#define SINGLEPOINTCROSSOVER_H_

#include "../Crossover.h"
#include "../../Solution/BitEncoded/BitEncodedSolution.h"
#include "../../Solution/PermutationEncoded/PermutationEncodedSolution.h"
#include "../../Solution/ValueEncoded/ValueEncodedSolution.h"
#include "../../Solution/2d/ValueEncoded/ValueEncodedSolution2d.h"
#include "../../Random/MyRandom.h"
#include "../../Exception/GA_Exception.h"

/** Implementation of a single point style crossover.
 */
template <typename T>
    class SinglePointCrossover : public Crossover
{
    public:
        SinglePointCrossover();
        void cross(Solution *, Solution *, Solution* &, Solution* &); /**< Implementation of a single point style crossover */
};

#endif /*SINGLEPOINTCROSSOVER_H_*/
